package configs

import (
	"gitee.com/love_bass/go-utils/utils"
	"gopkg.in/yaml.v3"
	"log"
	"os"
	"path/filepath"
)

var Data *Configs

func Init() {
	cfgFile := filepath.Join(utils.LocalDir, `config.yaml`)
	log.Printf("配置文件路径：%s", cfgFile)
	// 加载配置文件
	config, err := loadConfig(cfgFile)
	if err != nil {
		log.Printf("加载配置文件时出错：%s", err)
		os.Exit(1)
	}
	log.Printf("配置文件加载完成")
	Data = &config
}

// loadConfig 读取配置文件并将其解封到 Config 结构中。
func loadConfig(path string) (Configs, error) {
	var result Configs

	data, err := os.ReadFile(path)
	if err != nil {
		return result, err
	}

	err = yaml.Unmarshal(data, &result)
	if err != nil {
		return result, err
	}

	return result, nil
}
